const request = require('base')
const start = require('./start')
const login = require('./login')
const verify = require('./verify')
const {getUserInfo, showUserInfo, updateUserInfo, checkUnique} = require('./user')

/**
 * 项目初始化相关的云函数
 * 该云对象的特点就是不需要验证用户
 * start：系统启动
 * login：用户登录
 * verify：发送验证码
 */
module.exports = {
	_before: function () {
		request.handleBefore(this)
	},
	
	_after(error, result) {
		return request.handleAfter(this, error, result)
	},
	
	// 系统启动
	start, 
	// 用户登录
	login, 
	// 获取用户信息
	getUserInfo,
	// 显示与修改的用户信息有哪些
	showUserInfo,
	// 验证唯一性是否满足
	checkUnique,
	// 修改用户信息
	updateUserInfo,
	// 发送验证码
	verify(params) {
		return verify.send(params)
	},
	// 验证验证码
	check(params) {
		return verify.check(params)
	},
	// 退出登录。目前没有做任何有效性验证，直接返回成功
	logout() {
		return new Promise((resolve, reject) => {
			resolve(request.getResult({
				data: true,
				message: '退出成功'
			}))
		})
	},
}
